It is often the case that similar functions are used in several shaders,
however the current version of GLSL provides no standard way of  sharing
such functions requiring instead that they are implemented separately in
all of the shaders that use them. This limitation could be overcome by a
simple preprocessor that could insert code snippets into a  main  source
by copying them from other files, just as C handles #include directives.

However any non-standard tool would need to be made available to all the
users and for those that are not software developers may be a source  of
problems, or at least of confusion.  I  have therefore used a compromise
solution in which I maintain a library of  "code snippets"  implementing
the common functions but I then copy them manualy into the shaders  that
use them. The files in this directory are that library of code snippets.
You may use them in your own shaders should you find them useful.

Currently the following files are provided

  TheEmuLib.Emu_Basic_Constants.lib.src

     Defines a few basic mathematical constants.

  TheEmuLib.Emu_Boolean_Vector_Ops.lib.src

     Implements basic boolean vector operations.

  TheEmuLib.Emu_Common_Utilities.lib.src

     Common utilities used the shaders in the library.

  TheEmuLib.Emu_Coordinate_Normalisation.lib.src

     Normalise screen, or other window, coordinates.
     Also provides the inverse operations.

  TheEmuLib.Polar_Coordinates.lib.src

     Converions between polar and cartestian coordinates.

